package com.ym.medical.service;

import com.github.pagehelper.PageInfo;
import com.ym.core.utils.tkmybatis.IBaseSV;
import com.ym.medical.domain.entity.SubjectEntity;
import com.ym.medical.domain.param.SubjectQueryParam;
import com.ym.medical.domain.param.SubjectUpdateParam;
import com.ym.medical.domain.vo.SubjectAnswerVo;
import com.ym.medical.domain.vo.SubjectListMobileVO;
import com.ym.medical.domain.vo.SubjectListPcVO;

import java.util.List;

/**
 * 主题Service接口
 *
 * @author ym
 * @date 2020-08-24
 */
public interface ISubjectSV extends IBaseSV<SubjectEntity> {

	/**
	 * 查询主题列表
	 *
	 * @param queryParam 主题 查询对象
	 * @return 主题集合
	 */
	List<SubjectListPcVO> selectListPC(SubjectQueryParam queryParam);


	/**
	 * 新增主题
	 *
	 * @param updateParam 主题 新增对象
	 * @return 结果
	 */
	Long insertPC(SubjectUpdateParam updateParam);

	/**
	 * 修改主题
	 *
	 * @param updateParam 主题 修改参数
	 * @return 结果
	 */
	int updateByIdPC(SubjectUpdateParam updateParam);

	/**
	 * 评论详情
	 * @param answerType
	 * @param answerId
	 * @param loginId
	 * @return
	 */
    PageInfo<SubjectListMobileVO> getSubjectDetail(String answerType, Long answerId, Long loginId);

	/**
	 * 主题列表
	 * @param queryParam
	 * @return
	 */
	List<SubjectAnswerVo> searchList(SubjectQueryParam queryParam);

	/**
	 * 查询最新回复
	 * @param queryParam
	 * @return
	 */
	SubjectAnswerVo search(SubjectQueryParam queryParam);
}
